package apis

import (
	"gitee.com/byx_darwin/ncloud-go/core"
	"gitee.com/byx_darwin/ncloud-go/core/net/consts"
)

type UpdateTaskConditions struct {
	List        []TaskInfo `json:"list"`
	Proxy       string     `json:"proxy"`
	CallbackUrl string     `json:"callback_url,omitempty"`
	TaskUUUID   string     `json:"task_uuid"`
}

type TaskUpdateRequest struct {
	core.NCloudRequest
	UpdateTaskConditions
}

func NewTaskUpdateRequestWithTaskList(list []TaskInfo, taskUUID, proxy string) *TaskUpdateRequest {
	return &TaskUpdateRequest{
		NCloudRequest: core.NCloudRequest{
			Method: consts.MethodPut,
			Path:   "/gateway/task",
		},
		UpdateTaskConditions: UpdateTaskConditions{
			List:      list,
			Proxy:     proxy,
			TaskUUUID: taskUUID,
		},
	}
}
func NewTaskUpdateRequestWithParams(list []TaskInfo, proxy, taskUUID, callbackUrl string) *TaskUpdateRequest {
	return &TaskUpdateRequest{
		NCloudRequest: core.NCloudRequest{
			Method: consts.MethodPut,
			Path:   "/gateway/task",
		},
		UpdateTaskConditions: UpdateTaskConditions{
			List:        list,
			Proxy:       proxy,
			TaskUUUID:   taskUUID,
			CallbackUrl: callbackUrl,
		},
	}
}
func (r *TaskUpdateRequest) SetTcpTaskList(list []TaskInfo) {
	r.List = list
}

func (r *TaskUpdateRequest) SetCallbackUrl(callbackUrl string) {
	r.CallbackUrl = callbackUrl
}
